package com.vhall.component.entity.rbac.vo;


import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author longzhen.gong
 * @date 2021/6/23 15:46
 */
@Data
public class AdminMenuListRspVo<T> implements Serializable {
    private static final long serialVersionUID = -5301547541986150006L;

    /**
     * 子菜单
     */
    private List<T> children;

    @ApiModelProperty(value = "主键")
    @JsonProperty("menu_id")
    private Integer menuId;

    @ApiModelProperty(value = "菜单名称")
    private String name;

    @ApiModelProperty(value = "菜单链接")
    private String url;

    @ApiModelProperty(value = "父ID")
    private Integer pid;

    @ApiModelProperty(value = "排序")
    private Byte sort;

    @ApiModelProperty(value = "修改时间")
    @JsonProperty("updated_at")
    private LocalDateTime updatedAt;

    @ApiModelProperty(value = "创建时间")
    @JsonProperty("created_at")
    private LocalDateTime createdAt;

    @JsonProperty("deleted_at")
    private LocalDateTime deletedAt;

    @ApiModelProperty(value = "是否默认菜单")
    private boolean disabled;

    @ApiModelProperty(value = "1-admin菜单，2-控制台菜单")
    @JsonProperty("type")
    private Byte type;

    @ApiModelProperty(value = "admin菜单，控制台菜单")
    @JsonProperty("type_name")
    private String typeName;

    @ApiModelProperty(value = "启用 or 禁用")
    @JsonProperty("status")
    private Byte status;
}
